In computing, input/output (IO) is the communication between a data processing system or information system, such as a computer, and external devices. The external devices may include storage devices (e.g., disk drives), user interface devices (e.g., keyboard, mouse, and monitor), printers, and any other data processing system. In a computer system, a central processing unit (CPU) processes data and transfers the data into and out of the system. The external devices that receive outputs or provide inputs to the data processing system are referred to as IO devices. Some data-intensive applications may store a large amount of data in a variety of external storage devices. Different IO devices may vary substantially in characteristics. Some IO devices perform at substantially slower speeds than CPUs due to the physical nature of the IO devices. Thus, IO read request queues and/or write request queues may be long. As such, the average completion time for IO writes and/or reads may be large.